home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / dopmtr.z / dopmtr
Text File  |  1996-03-14  |  3KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDOOOOPPPPMMMMTTTTRRRR((((3333FFFF))))                                                          DDDDOOOOPPPPMMMMTTTTRRRR((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DOPMTR - overwrite the general real M-by-N matrix C with   SIDE = 'L'
  10.      SIDE = 'R' TRANS = 'N'
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE DOPMTR( SIDE, UPLO, TRANS, M, N, AP, TAU, C, LDC, WORK, INFO )
  14.  
  15.          CHARACTER      SIDE, TRANS, UPLO
  16.  
  17.          INTEGER        INFO, LDC, M, N
  18.  
  19.          DOUBLE         PRECISION AP( * ), C( LDC, * ), TAU( * ), WORK( * )
  20.  
  21. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  22.      DOPMTR overwrites the general real M-by-N matrix C with TRANS = 'T':
  23.      Q**T * C       C * Q**T
  24.  
  25.      where Q is a real orthogonal matrix of order nq, with nq = m if SIDE =
  26.      'L' and nq = n if SIDE = 'R'. Q is defined as the product of nq-1
  27.      elementary reflectors, as returned by DSPTRD using packed storage:
  28.  
  29.      if UPLO = 'U', Q = H(nq-1) . . . H(2) H(1);
  30.  
  31.      if UPLO = 'L', Q = H(1) H(2) . . . H(nq-1).
  32.  
  33.  
  34. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  35.      SIDE    (input) CHARACTER*1
  36.              = 'L': apply Q or Q**T from the Left;
  37.              = 'R': apply Q or Q**T from the Right.
  38.  
  39.      UPLO    (input) CHARACTER*1
  40.              = 'U': Upper triangular packed storage used in previous call to
  41.              DSPTRD; = 'L': Lower triangular packed storage used in previous
  42.              call to DSPTRD.
  43.  
  44.      TRANS   (input) CHARACTER*1
  45.              = 'N':  No transpose, apply Q;
  46.              = 'T':  Transpose, apply Q**T.
  47.  
  48.      M       (input) INTEGER
  49.              The number of rows of the matrix C. M >= 0.
  50.  
  51.      N       (input) INTEGER
  52.              The number of columns of the matrix C. N >= 0.
  53.  
  54.      AP      (input) DOUBLE PRECISION array, dimension
  55.              (M*(M+1)/2) if SIDE = 'L' (N*(N+1)/2) if SIDE = 'R' The vectors
  56.              which define the elementary reflectors, as returned by DSPTRD.
  57.              AP is modified by the routine but restored on exit.
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDOOOOPPPPMMMMTTTTRRRR((((3333FFFF))))                                                          DDDDOOOOPPPPMMMMTTTTRRRR((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      TAU     (input) DOUBLE PRECISION array, dimension (M-1) if SIDE = 'L'
  75.              or (N-1) if SIDE = 'R' TAU(i) must contain the scalar factor of
  76.              the elementary reflector H(i), as returned by DSPTRD.
  77.  
  78.      C       (input/output) DOUBLE PRECISION array, dimension (LDC,N)
  79.              On entry, the M-by-N matrix C.  On exit, C is overwritten by Q*C
  80.              or Q**T*C or C*Q**T or C*Q.
  81.  
  82.      LDC     (input) INTEGER
  83.              The leading dimension of the array C. LDC >= max(1,M).
  84.  
  85.      WORK    (workspace) DOUBLE PRECISION array, dimension
  86.              (N) if SIDE = 'L' (M) if SIDE = 'R'
  87.  
  88.      INFO    (output) INTEGER
  89.              = 0:  successful exit
  90.              < 0:  if INFO = -i, the i-th argument had an illegal value
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.